XSIApplication.ExecuteCommand

導入

v6.0

詳細

スクリプト名で特定された Softimage Commandを実行します。このメソッドを使用すると、組み込みコマンドおよびカスタムコマンドを実行できます。このメソッドはXSIApplication.ExecuteScriptCommandに似ていますが、ExecuteScriptCommand,と違い、ISIVTCollection オブジェクトの出力引数をパックするのではなく、標準のArrayの出力引数をパック化します。

Softimage コマンドは直接呼び出すことができるため、通常のスクリプトではこのメソッドは必要ありません。したがって、C#で記述されているアプリケーションでSoftimage コマンドを呼び出せるようにすることが、このメソッドの主な用途になります。

スクリプト 構文

oVariant = XSIApplication.ExecuteCommand( Name, [Arguments] );

戻り値

コマンドから戻された値を含むSystem.Object(C#の場合)またはVariant(スクリプトの場合)。明示的に定義された戻り値がコマンドに存在しい場合、ExecuteCommandはArrayオブジェクトのすべての出力引数を戻します。ただし、コマンドで戻り値を定義している場合は、戻り値から出力引数を抽出することはできません。これは、そのコマンドが出力引数の配列ではなく特定の値を戻すためです。「C#およびスクリプトリファレンス」の「戻り値」セクションでは、コマンドが明示的な戻り値を使用するかどうかや、その値が何であるかを調べることができます。

パラメータ

パラメータ タイプ 詳細
Name String コマンドのスクリプト名
引数 VariantArray(スクリプトの場合)、System.Objects の配列(C#の場合)。 出力引数を含むすべての必要なコマンド引数の配列です。

C#の例

//
// This example illustrates how to use Softimage commands from C#.
//
CXSIApplication xsi = new CXSIApplication();
try
{
        // Create a cube to add the new property
        Object[] args = new Object[4] { "Cube", "MeshSurface", null, null };
        xsi.ExecuteCommand("CreatePrim", args);
        // Add an Annotation property to the new cube
        args = new Object[5] { "Annotation", null, null, "Annotation", null };
        Array retVal = (Array)xsi.ExecuteCommand("SIAddProp", args);
        // Inspect the Annotation Property
        args = new Object[5];
        args[0] = retVal;
        xsi.ExecuteCommand("InspectObj", args);
}
catch (Exception e)
{
        xsi.LogMessage("Exception raised: " + e.ToString(), siSeverity.siError);
}

関連項目

XSIApplication.ExecuteScriptCommand Command